perm filename ITALIG.MF[MF,SYS]4 blob
sn#798100 filedate 1985-07-09 generic text, type C, neo UTF8
COMMENT ā VALID 00007 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 % This file describes five italic ligatures that begin with `f'
C00003 00003 cmchar "Italic ligature ff"
C00007 00004 cmchar "Italic ligature fi"
C00010 00005 cmchar "Italic ligature fl"
C00013 00006 cmchar "Italic ligature ffi"
C00017 00007 cmchar "Italic ligature ffl"
C00021 ENDMK
Cā;
% This file describes five italic ligatures that begin with `f'
% and puts them in code positions \0013--\0017.
numeric itc; % modified italic correction on `f' and `ff'
itc=(asc_height#-x_height#)*slant+.75u#;
ligtable "f": "i"=:oct"014", "f"=:oct"013", "l"=:oct"015",
"'" kern itc, "?" kern itc, "!" kern itc, ")" kern itc, "]" kern itc;
ligtable oct"013": "i"=:oct"016", "l"=:oct"017",
"'" kern itc, "?" kern itc, "!" kern itc, ")" kern itc, "]" kern itc;
cmchar "Italic ligature ff";
beginchar(oct"013",5u#+max(1.5u#,stem#)+max(3.5u#,2flare#)+2letter_fit#,
asc_height#,desc_depth#);
italcorr asc_height#*slant+.75u#;
adjust_fit(0,0); pickup fine.nib;
z98-z88=z99-z89=z14-z4=z15-z5=(4.8u+2letter_fit,0);
.5[x88,x99]=.5w-.1u; x89-x88=u; y98=h; y99=-d;
numeric theta; theta=angle(z88-z89);
pos0(flare,0); pos1(hair,0); pos2(vair,90);
pos3(.5[hair,stem],180); pos4(stem,theta+90);
pos5(stem,theta-90); pos6(.5[hair,stem],0);
pos7(vair,-90); pos8(hair,-180); pos9(flare,-180);
rt x1r=round(.5w+1.25u); lft x8r=round-.35u; x2=.5[x1,x4]; x7=.6[x8,x5];
y9-.5flare=vround -.85d; y2-y0=y9-y7; top y2r=h+oo; bot y7r=-d-oo;
y4=.25[x_height,h]; y5=.5[-d,y4]; z4=whatever[z88,z89]; z5=whatever[z88,z89];
x3=.8[x2+x4-x88,x88]; x6=.8[x7+x5-x89,x89]; y3=.8[y4,y2]; y6=.8[y5,y7];
bulb(2,1,0); bulb(7,8,9); % left bulbs
filldraw stroke z2e{left}...z3e...{z89-z88}z4e; % upper middle arc
filldraw z4r--z5l--z5r--z4l--cycle; % left stem
filldraw stroke z5e{z89-z88}...z6e...{left}z7e; % lower left arc
pos10(flare,0); pos11(hair,0); pos12(vair,90);
pos13(.5[hair,stem],180); pos14(stem,theta+90);
pos15(stem,theta-90); pos16(.5[hair,stem],0);
pos17(vair,-90); pos18(hair,-180); pos19(flare,-180);
rt x11r=round(w+.25u);lft x18r=round(.5w-1.25u);x12=.6[x11,x14];x17=.5[x18,x15];
x13=.8[x12+x14-x98,x98]; x16=.8[x17+x15-x99,x99];
y0=y10; y2=y12; y3=y13; y6=y16; y7=y17; y9=y19;
bulb(12,11,10); bulb(17,18,19); % right bulbs
filldraw stroke z12e{left}...z13e...{z99-z98}z14e; % upper right arc
filldraw z14r--z15l--z15r--z14l--cycle; % right stem
filldraw stroke z15e{z99-z98}...z16e...{left}z17e; % lower middle arc
pickup crisp.nib; pos20(bar,90); pos21(bar,90);
top y20r=top y21r=x_height;
lft x20=lft x4r-.5stem-u; rt x21=rt x14l+.5stem+1.5u;
filldraw stroke z20e--z21e; % crossbar
penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,
20,21,88,89,98,99); endchar;
cmchar "Italic ligature fi";
beginchar(oct"014",6.5u#+.5max(1.5u#,stem#)+.5max(3.5u#,2flare#)+2letter_fit#,
asc_height#,desc_depth#);
italcorr max(asc_height#*slant+.5stem#-2u#,1/3x_height#*slant+.5hair#+.5u#);
adjust_fit(0,0); pickup fine.nib;
.5[x88,x89]=.5(w-4u-2letter_fit); x89-x88=u; y88=h; y89=-d;
numeric theta; theta=angle(z88-z89);
pos0(flare,0); pos1(hair,0); pos2(vair,90);
pos3(.5[hair,stem],180); pos4(stem,theta+90);
pos5(stem,theta-90); pos6(.5[hair,stem],0);
pos7(vair,-90); pos8(hair,-180); pos9(flare,-180);
pos11(stem,0); rt x11r=round(w-2.5u+.5stem);
x12=x11; x14=w; hook_out(12,13,14); % closing hook
x1r=x11r; lft x8r=round-.35u; x2=.5[x1,x4]; x7=.6[x8,x5];
y9-.5flare=vround-.85d; bot y7r=-d-oo;
y0+.5flare=vround(.85[x_height,h]); top y2r=h+oo;
y4=.25[x_height,h]; y5=.5[-d,y4]; z4=whatever[z88,z89]; z5=whatever[z88,z89];
x3=.8[x2+x4-x88,x88]; x6=.8[x7+x5-x89,x89]; y3=.8[y4,y2]; y6=.8[y5,y7];
bulb(2,1,0); bulb(7,8,9); % bulbs
filldraw stroke z2e{left}...z3e...{z89-z88}z4e; % upper arc
filldraw z4r--z5l--z5r--z4l--cycle; % left stem
filldraw stroke z5e{z89-z88}...z6e...{left}z7e; % lower arc
top y11=x_height; filldraw stroke z11e--z12e; % right stem
pickup crisp.nib; pos20(bar,90); pos21(bar,90);
top y20r=top y21r=x_height;
lft x20=lft x4r-.5stem-u; x21=x11;
filldraw stroke z20e--z21e; % crossbar
penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,20,21,88,89); endchar;
cmchar "Italic ligature fl";
beginchar(oct"015",7u#+.5max(1.5u#,stem#)+.5max(3.5u#,2flare#)+2letter_fit#,
asc_height#,desc_depth#);
italcorr max(asc_height#*slant+.5stem#-2u#,1/3x_height#*slant+.5hair#+.5u#);
adjust_fit(0,0); pickup fine.nib;
.5[x88,x89]=.5(w-4.5u-2letter_fit); x89-x88=u; y88=h; y89=-d;
numeric theta; theta=angle(z88-z89);
pos0(flare,0); pos1(hair,0); pos2(vair,90);
pos3(.5[hair,stem],180); pos4(stem,theta+90);
pos5(stem,theta-90); pos6(.5[hair,stem],0);
pos7(vair,-90); pos8(hair,-180); pos9(flare,-180);
pos11(stem,0); rt x11r=round(w-2.5u+.5stem); rt x1r=lft x11l;
x12=x11; x14=w; hook_out(12,13,14); % closing hook
lft x8r=round-.35u; x2=.5[x1,x4]; x7=.6[x8,x5];
y9-.5flare=vround -.85d; y2-y0=y9-y7; top y2r=h+oo; bot y7r=-d-oo;
y4=.25[x_height,h]; y5=.5[-d,y4]; z4=whatever[z88,z89]; z5=whatever[z88,z89];
x3=.8[x2+x4-x88,x88]; x6=.8[x7+x5-x89,x89]; y3=.8[y4,y2]; y6=.8[y5,y7];
bulb(2,1,0); bulb(7,8,9); % bulbs
filldraw stroke z2e{left}...z3e...{z89-z88}z4e; % upper arc
filldraw z4r--z5l--z5r--z4l--cycle; % left stem
filldraw stroke z5e{z89-z88}...z6e...{left}z7e; % lower arc
top y11=h; filldraw stroke z11e--z12e; % right stem
pickup crisp.nib; pos20(bar,90); pos21(bar,90);
top y20r=top y21r=x_height;
lft x20=lft x4r-.5stem-u; x21=x11;
filldraw stroke z20e--z21e; % crossbar
penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,20,21,88,89); endchar;
cmchar "Italic ligature ffi";
beginchar(oct"016",11.75u#+.5max(1.5u#,stem#)+.5max(3.5u#,2flare#)+4letter_fit#,
asc_height#,desc_depth#);
italcorr max(asc_height#*slant+.5stem#-2u#,1/3x_height#*slant+.5hair#+.5u#);
adjust_fit(0,0); pickup fine.nib;
z98-z88=z99-z89=z14-z4=z15-z5=(5u+2letter_fit,0);
numeric theta,mid_f;
mid_f=.5[x88,x99]=.5(w-4.25u-2letter_fit); x89-x88=u;
y98=h; y99=-d; theta=angle(z88-z89);
pos21(stem,0); rt x21r=round(w-2.5u+.5stem);
x22=x21; x24=w; hook_out(22,23,24); % closing hook
pos0(flare,0); pos1(hair,0); pos2(vair,90);
pos3(.5[hair,stem],180); pos4(stem,theta+90);
pos5(stem,theta-90); pos6(.5[hair,stem],0);
pos7(vair,-90); pos8(hair,-180); pos9(flare,-180);
rt x1r=round(mid_f+1.75u); lft x8r=round-.35u; x2=.5[x1,x4]; x7=.6[x8,x5];
y9-.5flare=vround -.85d; y2-y0=y9-y7; top y2r=h+oo; bot y7r=-d-oo;
y4=.25[x_height,h]; y5=.5[-d,y4]; z4=whatever[z88,z89]; z5=whatever[z88,z89];
x3=.8[x2+x4-x88,x88]; x6=.8[x7+x5-x89,x89]; y3=.8[y4,y2]; y6=.8[y5,y7];
bulb(2,1,0); bulb(7,8,9); % left bulbs
filldraw stroke z2e{left}...z3e...{z89-z88}z4e; % upper middle arc
filldraw z4r--z5l--z5r--z4l--cycle; % left stem
filldraw stroke z5e{z89-z88}...z6e...{left}z7e; % lower left arc
pos10(flare,0); pos11(hair,0); pos12(vair,90);
pos13(.5[hair,stem],180); pos14(stem,theta+90);
pos15(stem,theta-90); pos16(.5[hair,stem],0);
pos17(vair,-90); pos18(hair,-180); pos19(flare,-180);
x11r=x21r; lft x18r=round(mid_f-1.25u); x12=.5[x11,x14]; x17=.5[x18,x15];
x13=.8[x12+x14-x98,x98]; x16=.8[x17+x15-x99,x99];
y10+.5flare=vround(.85[x_height,h]); y2=y12; y3=y13; y6=y16; y7=y17; y9=y19;
bulb(12,11,10); bulb(17,18,19); % right bulbs
filldraw stroke z12e{left}...z13e...{z99-z98}z14e; % upper right arc
filldraw z14r--z15l--z15r--z14l--cycle; % middle stem
filldraw stroke z15e{z99-z98}...z16e...{left}z17e; % lower middle arc
top y21=x_height; filldraw stroke z21e--z22e; % right stem
pickup crisp.nib; pos30(bar,90); pos31(bar,90);
top y30r=top y31r=x_height;
lft x30=lft x4r-.5stem-u; x31=x21;
filldraw stroke z30e--z31e; % crossbar
penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,30,31,88,89,98,99); endchar;
cmchar "Italic ligature ffl";
beginchar(oct"017",12u#+.5max(1.5u#,stem#)+.5max(3.5u#,2flare#)+4letter_fit#,
asc_height#,desc_depth#);
italcorr max(asc_height#*slant+.5stem#-2u#,1/3x_height#*slant+.5hair#+.5u#);
adjust_fit(0,0); pickup fine.nib;
z98-z88=z99-z89=z14-z4=z15-z5=(5u+2letter_fit,0);
numeric theta,mid_f;
mid_f=.5[x88,x99]=.5(w-4.5u-2letter_fit); x89-x88=u;
y98=h; y99=-d; theta=angle(z88-z89);
pos21(stem,0); rt x21r=round(w-2.5u+.5stem);
x22=x21; x24=w; hook_out(22,23,24); % closing hook
pos0(flare,0); pos1(hair,0); pos2(vair,90);
pos3(.5[hair,stem],180); pos4(stem,theta+90);
pos5(stem,theta-90); pos6(.5[hair,stem],0);
pos7(vair,-90); pos8(hair,-180); pos9(flare,-180);
rt x1r=round(mid_f+1.25u); lft x8r=round-.35u; x2=.5[x1,x4]; x7=.6[x8,x5];
y9-.5flare=vround -.85d; y2-y0=y9-y7; top y2r=h+oo; bot y7r=-d-oo;
y4=.25[x_height,h]; y5=.5[-d,y4]; z4=whatever[z88,z89]; z5=whatever[z88,z89];
x3=.8[x2+x4-x88,x88]; x6=.8[x7+x5-x89,x89]; y3=.8[y4,y2]; y6=.8[y5,y7];
bulb(2,1,0); bulb(7,8,9); % left bulbs
filldraw stroke z2e{left}...z3e...{z89-z88}z4e; % upper middle arc
filldraw z4r--z5l--z5r--z4l--cycle; % left stem
filldraw stroke z5e{z89-z88}...z6e...{left}z7e; % lower left arc
pos10(flare,0); pos11(hair,0); pos12(vair,90);
pos13(.5[hair,stem],180); pos14(stem,theta+90);
pos15(stem,theta-90); pos16(.5[hair,stem],0);
pos17(vair,-90); pos18(hair,-180); pos19(flare,-180); rt x11r=lft x21l;
lft x18r=round(mid_f-1.25u); x12=.5[x11,x14]; x17=.5[x18,x15];
x13=.8[x12+x14-x98,x98]; x16=.8[x17+x15-x99,x99];
y0=y10; y2=y12; y3=y13; y6=y16; y7=y17; y9=y19;
bulb(12,11,10); bulb(17,18,19); % right bulbs
filldraw stroke z12e{left}...z13e...{z99-z98}z14e; % upper right arc
filldraw z14r--z15l--z15r--z14l--cycle; % middle stem
filldraw stroke z15e{z99-z98}...z16e...{left}z17e; % lower middle arc
top y21=h; filldraw stroke z21e--z22e; % right stem
pickup crisp.nib; pos30(bar,90); pos31(bar,90);
top y30r=top y31r=x_height;
lft x30=lft x4r-.5stem-u; x31=x21;
filldraw stroke z30e--z31e; % crossbar
penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,30,31,88,89,98,99); endchar;